Perks of Peer Review

Perks of Peer Review

Posted on 2023-05-01

As of 2022, I have added peer review into my coursework. I have tried this in a couple of different ways, both using Canvas' built-in peer review system, and also just using discussion boards. I find that peer review has been pretty useful in my courses, though the implementation can be finicky. Here's how I do student peer reviews...

Exercises get peer reviewed

I have students work on Exercises (basically, programming labs) throughout the semester. I call these "Exercises" to emphasize that they're practicing the new topics. These are generally pretty small programs, very stripped down to investigate each of the new topics "in a vacuum". They're mostly used for students to practice, rather than me to gauge programming skills (that is what the projects are for).

Canvas' built-in peer review system

In Canvas, you are able to set up peer reviews in assignments. I used this throughout Spring 2023 semester. There are a few considerations you need to make when using the built-in peer review system:

  1. If students' work is stored elseware, such as Replit Teams solo project, other students won't be able to see their work.
  2. For best results, have students upload their work, that way their source code can be viewed by their reviewers from within the "Speed Grader".
    • This is unfortunate for my own grading workflow, as I prefer to have them submit the URL to their Replit project and run it from there. If I just have their files, I will either have to download the files and run them on my computer, or go to Replit and locate their assignment manually. I could have them submit the URL to their project in a comment, but Canvas does not not turn links in comments into hyperlinks you can click on. The additional work of highlight-copy-paste slows down grading workflow.
  3. If students are expected to also test their peer's work, they will have to go through the process of downloading the file(s) and then uploading it to a new replit project (as students only use Replit for my CS134 and CS200 courses). Students only have access to creating public projects in Replit (as far as I know), which means any students doing a peer review are making public duplications of the work they're checking on.
  4. Canvas does not have syntax highlighting in the "Speed Grader" view; all text is black-and-white, making reading the code slightly more difficult.

Discussion board-based peer review

I ended up only using the built-in peer review system for one semester, and have since returned to doing discussion board-based peer review. I have a thread set up for each exercise (e.g., [CS134.U05.EX] 🏋️ Branching and looping - Exercise and [CS134.U05.PR] 🔎 Branching and looping – Peer Review) and students are only able to view others' posts once they post something of their own.

They are instructed to use the "preformatted" and to paste in their work for one specific part of the exercise - usually one of the middle programs, not too easy but not the most challenging.

They are also instructed to respond to at least one other student's work, answering questions like:

  • Is the code easy to read and understand?
  • Is the code formatting clean and consistent?
  • Is the user interface easy to navigate?
  • Does their program work as intended?
  • Did you encounter any bugs?
  • Any other feedback?

The discussion board approach has worked out mostly well, especially when students are able to figure out the "preformatted" option in the Canvas text editor:

Often, students end up copy/pasting their code in "paragraph" mode, which sometimes preserves tabs, but sometimes does not.

Academic integrity?

Since my exercise assignments are such small programs, I am comfortable with students sharing snippets of the code. The assignments are mostly for students to practice the new concepts, whereas the actual programming projects are more for me to assess their overall coding skill. The exercises get reused each semester (with various tweaks here and there), while I write new projects each semester. Therefore, if a student is going to share or find old versions of exercises out on the web, students are only hurting their own learning if they choose to copy rather than working through these exercises.

Additionally, I try to make sure that they have all the resources they need to complete exercises and learn from them, so my hope is that students won't feel a need to look up solutions online because they know they can solve the challenges on their own, or get the help they need from the instructor (me!) or their student peers.

Takeaways from peer review

Overall, I've been using peer reviews for a few semesters now. My goals are for students to be able to see other peoples' code and how they solve problems, how they style code, and so on. Additionally, doing peer reviews of others' work is a frequent occurrence on the job, so it is important to be able to look over someone's code and give professional   critique and feedback. They will also need to get used to other people seeing their code, and be able to take that constructive feedback and revisit their code to make improvements, as needed.